home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / Libraries / DCLAP 4j / DBio / DSeqCmds.h < prev    next >
Encoding:
Text File  |  1995-12-17  |  5.6 KB  |  211 lines  |  [TEXT/R*ch]

  1. // DSeqCmds.h
  2.  
  3. #ifndef _DSEQCMDS_
  4. #define _DSEQCMDS_
  5.  
  6.  
  7. #include "DCommand.h"
  8. #include "DTableView.h"
  9. #include "ncbi.h"
  10.  
  11. class DSeqDoc;
  12. class DSeqList;
  13. class DSequence;
  14. class DAlnView;
  15.  
  16. class DSeqChangeCmd : public DCommand
  17. {
  18. public:
  19.     enum { cSeqChange = 30594 };
  20.     DSeqList * fOldSeqs, * fNewSeqs;
  21.     DAlnView * fAlnView;
  22.     DSeqDoc * fSeqDoc;
  23.     
  24.     DSeqChangeCmd( char* title, DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs);
  25.     virtual ~DSeqChangeCmd();
  26.     virtual void DoIt();
  27.     virtual void Undo();
  28.     virtual void Redo();
  29.     virtual void Commit();
  30.  
  31.     virtual Boolean Initialize();  
  32.     virtual void DoItWork();
  33.     virtual void UndoWork();
  34.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  35. };
  36.  
  37.  
  38. class DSeqReverseCmd : public DSeqChangeCmd {
  39. public: 
  40.     DSeqReverseCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs):
  41.          DSeqChangeCmd("reverse", itsAlnDoc,itsView,itsSeqs) {}
  42.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  43. };
  44.  
  45. class DSeqComplementCmd : public DSeqChangeCmd {
  46. public:
  47.     DSeqComplementCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  48.         DSeqChangeCmd("complement", itsAlnDoc,itsView,itsSeqs) {}
  49.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  50. };
  51.  
  52. class DSeqRevComplCmd : public DSeqChangeCmd {
  53. public: 
  54.     DSeqRevComplCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs):
  55.         DSeqChangeCmd("rev-compl", itsAlnDoc,itsView,itsSeqs) {}
  56.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  57. };
  58.  
  59. class DSeqCompressCmd : public DSeqChangeCmd {
  60. public: 
  61.     DSeqCompressCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  62.         DSeqChangeCmd("degap", itsAlnDoc,itsView,itsSeqs) {}
  63.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  64. };
  65.  
  66. class DSeqDna2RnaCmd : public DSeqChangeCmd {
  67. public: 
  68.     DSeqDna2RnaCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  69.         DSeqChangeCmd("dna2rna", itsAlnDoc,itsView,itsSeqs) {}
  70.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  71. };
  72.  
  73. class DSeqRna2DnaCmd : public DSeqChangeCmd {
  74. public: 
  75.     DSeqRna2DnaCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  76.         DSeqChangeCmd("rna2dna", itsAlnDoc,itsView,itsSeqs) {}
  77.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  78. };
  79.  
  80. class DSeqTranslateCmd : public DSeqChangeCmd {
  81. public: 
  82.     DSeqTranslateCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  83.         DSeqChangeCmd("translate", itsAlnDoc,itsView,itsSeqs) {}
  84.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  85. };
  86.  
  87. class DSeqLockIndelsCmd : public DSeqChangeCmd {
  88. public: 
  89.     DSeqLockIndelsCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  90.         DSeqChangeCmd("lock indels", itsAlnDoc,itsView,itsSeqs) {}
  91.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  92. };
  93.  
  94. class DSeqUnlockIndelsCmd : public DSeqChangeCmd {
  95. public: 
  96.     DSeqUnlockIndelsCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  97.         DSeqChangeCmd("unlock indels", itsAlnDoc,itsView,itsSeqs) {}
  98.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  99. };
  100.  
  101. class DSeqUppercaseCmd : public DSeqChangeCmd {
  102. public: 
  103.     DSeqUppercaseCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  104.         DSeqChangeCmd("uppercase", itsAlnDoc,itsView,itsSeqs) {}
  105.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  106. };
  107.  
  108. class DSeqLowercaseCmd : public DSeqChangeCmd {
  109. public: 
  110.     DSeqLowercaseCmd( DSeqDoc* itsAlnDoc, DView* itsView, DSeqList* itsSeqs): 
  111.         DSeqChangeCmd("lowercase", itsAlnDoc,itsView,itsSeqs) {}
  112.     virtual    DSequence* ChangeToNew( DSequence* oldSeq);
  113. };
  114.  
  115.  
  116.  
  117. class DAlnSlider : public DRCshifter 
  118. {
  119. public:
  120.     enum { cAlnShiftCmd = 2451 };
  121.     DAlnView    * fAlnView;
  122.     DSeqDoc        * fSeqDoc;
  123.     DSeqList    * fNewSeqs, * fOldSeqs;
  124.     Nlm_RecT        fOldSelection, fNewSelection; //Nlm_RgN later ...
  125.     Nlm_Boolean    fSlideAll;
  126.     
  127.     DAlnSlider();
  128.     DAlnSlider( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  short oldRC);
  129.     virtual ~DAlnSlider();
  130.     virtual void IAlnSlider( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  short oldRC);
  131.     virtual void Reset();
  132.     virtual void TrackFeedback( TrackPhase aTrackPhase,
  133.                     const Nlm_PoinT& anchorPoint, const Nlm_PoinT& previousPoint,
  134.                     const Nlm_PoinT& nextPoint, Nlm_Boolean mouseDidMove, Nlm_Boolean turnItOn);
  135.     virtual void DoIt(); 
  136.     virtual void Undo();
  137.     virtual void Redo(); 
  138.  
  139.     virtual void DoItWork(); 
  140.     virtual void UndoWork(); 
  141.     virtual void DoSlide();
  142. };
  143.     
  144.  
  145. class DAlnShifter : public DAlnSlider 
  146. {
  147. public:
  148.     DAlnShifter();
  149.     DAlnShifter( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  short oldRC);
  150.     virtual ~DAlnShifter();
  151.     virtual void IAlnSlider( DSeqDoc* itsDoc, DTableView* itsView, DAlnView* itsAlnView,  short oldRC);
  152.     virtual void DoItWork(); 
  153.     virtual void UndoWork(); 
  154.     virtual void DoSlide();
  155.     virtual void TrackFeedback( TrackPhase aTrackPhase,
  156.                     const Nlm_PoinT& anchorPoint, const Nlm_PoinT& previousPoint,
  157.                     const Nlm_PoinT& nextPoint, Nlm_Boolean mouseDidMove, Nlm_Boolean turnItOn);
  158. };
  159.     
  160.  
  161.  
  162. class DAlnEditCommand : public DCommand
  163. {
  164. public:
  165.     enum { cAlnEdit = 31596 };
  166.     DSeqList * fOldList;
  167.     DSeqDoc  * fAlnDoc;
  168.     Nlm_RecT     fSelection;
  169.  
  170.     DAlnEditCommand(DSeqDoc* itsDoc, short itsCommand);
  171.     virtual ~DAlnEditCommand();
  172.     virtual void DoIt();
  173.     virtual void Undo();
  174.     virtual void Redo();
  175.     virtual void Commit();
  176.  
  177.     virtual void CopySelection();
  178.     virtual void DeleteSelection();
  179.     virtual void RestoreSelection();
  180.     virtual void ReSelect();
  181.  
  182.     virtual void DoItWork();
  183.     virtual void UndoWork();
  184.     virtual void RedoWork();
  185.  
  186. };
  187.  
  188. class DAlnPasteCommand : public DCommand
  189. {
  190. public:
  191.     enum { cAlnPaste = 31597 };
  192.     DSeqList * fClipList;
  193.     DSeqDoc  * fAlnDoc;
  194.     short    fInsRow;
  195.     
  196.     DAlnPasteCommand(DSeqDoc* itsDoc);
  197.     virtual ~DAlnPasteCommand();
  198.     virtual void DoIt();
  199.     virtual void Undo();
  200.     virtual void Redo();
  201.     virtual void Commit();
  202.  
  203.     virtual void DoItWork();
  204.     virtual void UndoWork();
  205. };
  206.  
  207.  
  208.  
  209. #endif
  210.  
  211.